package interview;

/*	byte b1=3,b2=4,b;
*	b=b1+b2;
*	b=3+4;
*哪句话编译失败？为什么呢
*
*第二条代码编译失败，因为b为byte类型，b1+b2不能为byte类型，应该为int类型，会损失精度
*b=3+4是正确的，因为常量是先把结果计算出来再看是否在byte范围中，如果在，不报错。
*
*/

/*byte b=130有没有问题，如果想让赋值成功怎么办呢？结果是多少呢？
 * 
 * 有问题，因为byte类型的范围是-128~127中
 * 使用强制类型转换
 * byte b=(byte)130;
 * 
 * 计算机中数据都是补码进行的
 * 130是原码也是补码也是反码；其二进制为10000010
 * 所以补码为：1 0000010
 *	  反码为：1 0000001
 * 其原码就为：1 1111110
 * 所以值为：-126
 * 
 * 
 * */
public class Interview01 {

	public static void main(String[] args) {
		// TODO Auto-generated method stub
		/*byte b1=3,b2=4,b;
			b=(byte)(b1+b2);
			b=3+4;*/
		
			

	}

}
